////https://www.luogu.com.cn/problem/P1036
//
//#include<iostream>
//using namespace std;
//int n, k;
//
//int x[22];
//int sum;
//int ret;
//
//bool isPrime(int n)
//{
//	if (n <= 1) return false;
//	if (n == 2) return true;
//	if (n % 2 == 0) return false;
//	for (int i = 3; i <= n / i + 1; i += 2)
//		if (n % i == 0) return false;
//	return true;
//}
//
//void dfs(int pos,int begin)
//{
//	if (pos > k)
//	{
//		if (isPrime(sum))
//			ret++;
//		return;
//	}
//
//	for (int i = begin; i <= n; i++)
//	{
//		int num = x[i];
//		sum += num;
//		dfs(pos + 1, i + 1);
//		sum -= num;
//	}
//}
//
//int main()
//{
//	cin >> n >> k;
//	for (int i = 1; i <= n; i++)
//		cin >> x[i];
//	dfs(1, 1);
//	cout << ret;
//	return 0;
//}